package com.lu.edu.info.manager.service;

/**
 * @author lufeng
 * @date 2021/9/14 10:53
 */

import com.lu.edu.info.manager.dao.StudentDao;
import com.lu.edu.info.manager.domain.Student;

/**
 * 业务员
 *
 * @author lufeng
 */
public class StudentService {
    //        1.创建库管对象StudentDao（库管）
    private StudentDao studentDao = new StudentDao();
//          第一个方法 传递学生对象 是否有这个学生
    public boolean addStudebt(Student stu) {
//        2。将学生对象传递给StudentDao 库管中的addStudent方法
        return studentDao.addStudent(stu);
//        3.将返回的boolean类型结果返还给StudentController
    }
//          第二个方法 传递学生id给库管看是否已经有id存在
    public boolean isExists(String id) {
//        下面调用的findAllStudent方法就是返回一个数组 所以定义一个数组来接取返回的值
        Student[] stus = studentDao.findAllStudent();
//        假设id在数组中不存在
        boolean exists = false;
//        遍历数组 获取每一个学生对象 准备进行判断
        for (int i = 0; i < stus.length; i++) {
            Student student = stus[i];
//            判断 student是否是空的并且调取getid方法得到的学号跟输入的id学号进行比较看存不存在
//            如果存在直接等于true 结束当前语句
            if (student != null && student.getId().equals(id)) {
                exists = true;
                break;
            }

        }
        return exists;
    }

    /**
     * 查询的方法
     * @return
     */
    public Student[] findAllStudent() {
      Student[] allstudent= studentDao.findAllStudent();
       boolean flag = false;
        for (int i = 0; i < allstudent.length; i++) {
            Student stu = allstudent[i];
            if(stu!=null){
                flag=true;
                break;
            }
        }
        if (flag){
            return allstudent;
        }else {
            return null;
        }

    }

    /**
     * 删除方法
     * @param delID
     */
    public void deleteStudent(String delID) {
        studentDao.deleteStudent(delID);
    }

    /**
     * 修改方法
     * @param sid
     * @param newstu
     */
    public void setStudent(String sid, Student newstu) {
        studentDao.setStudent( sid, newstu);
    }
}
